package com.micro.modual.mapper;


import com.micro.core.frame.mapper.BasicsMapper;
import com.micro.modual.entity.SeckillActivitySence;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
*  <h1></h1>
 * @author levelcoder
 * @version V1.0.0
 * @email LevelCoder@126.com
 * @date 2020-08-04 00:11:10
 */
public interface SeckillActivitySenceMapper extends BasicsMapper<SeckillActivitySence>{


    /**
     * <h2>根据时间编号/秒杀活动编号查询是否存在进行中的秒杀活动</h2>
     * @param sceneCode      时间区间编号
     * @param seckillCode    秒杀活动编号
     * @return
     */
    int hasInProgressSeckill(@Param("sceneCode") String sceneCode, @Param("seckillCode") String seckillCode);

    /**
     * <h2>根据时间场次编号删除关联信息</h2>
     * @param sceneCode  时间场次编号
     */
    void deleteBySceneCode(@Param("sceneCode") String sceneCode);

    /**
     * <h2>根据活动编号查询时间区间</h2>
     * @param seckillCode  秒杀活动编号
     * @return
     */
    List<Map<String,Object>> findActivitySenceList(@Param("seckillCode") String seckillCode);

    /**
     * <h2>根据秒杀编号,秒杀时间区间编号查询秒杀活动关联信息</h2>
     * @param seckillCode   秒杀编号
     * @param sceneCode     时间区间编号
     * @return
     */
    SeckillActivitySence findActivitySenceByCode(@Param("seckillCode")String seckillCode, @Param("sceneCode")String sceneCode);
}
